1. Field of the Invention
The present invention relates to translating addresses for communications across computer networks. More specifically, the present invention relates to a method and an apparatus for providing multiple load balancers to balance translation requests across multiple name servers.
2. Related Art
As the Internet continues to grow at an exponential rate, the existing Internet infrastructure must continually expand to keep pace with increasing network traffic. One problem in this expansion is to ensure that mechanisms that translate host names into Internet Protocol (IP) addresses continue to operate in the face of an increasing volume of translation requests.
Note in order to send a message across a network, it is necessary to include the destination address in the message. This destination address is typically a 32-bit number, which is referred to as an IP address.
However, 32-bit IP addresses tends to be hard for a human being to remember. For this reason, the domain name system (DNS) is used to provide more easily remembered logical names, which are referred to as “host names”. By referring to a host through a host name, a network user does not have to remember the IP address which specifies the physical location of the host. Moreover, the host may be moved to a different network while users continue to use the same logical host name.
The domain name system operates through use of a database that contains translations between logical host names and IP addresses. This database is distributed between a plurality of name servers. In sending a message to a host, a translation between the logical host name and the IP address typically takes place at a name server, which contains records of host name to IP address translations.
As network traffic continues to increase, name servers are beginning to experience a tremendous volume of requests. In order to service these requests, some systems have begun to employ multiple name servers that operate in parallel. In this type of system, address translation requests are typically received by a centralized load balancer that distributes the requests to the multiple name servers.
However, as the number of requests for address translations continues to increase, a single load balancer is often not able to keep pace with the large volume requests that are directed to the multiple name servers. Moreover, if the load balancer fails or must be stopped for routine maintenance, no address translations can take place because the load balancer is unavailable to route address translation requests.
What is needed is a method and an apparatus for routing address translation requests without the performance and reliability problems associated with existing systems that use a single load balancer.